package com.gopay.common.domain.riskcontrol;

import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import com.gopay.common.domain.BaseEntity;

/**
 * 
 * @RcThreshold.java
 * @author dak.wang
 * @2016年1月15日 下午3:14:25 www.gopay.com.cn Inc.All rights reserved.
 */
@Entity
@Table(name = "RC_THRESHOLD")
public class RcThreshold extends BaseEntity {

    private static final long serialVersionUID = 1L;

    private Long id;
    private String code;
    private String name;
    private String custType;
    private String isRealNameCertify;
    private String gopayIntTxnCd;
    private String payChannel;
    private String type;
    private Integer cycleDay;
    private BigDecimal cycleAmount;
    private Integer cycleCount;
    private BigDecimal singleAmountLow;
    private BigDecimal singleAmountHigh;
    private String stat;
    private String createdOperId;
    private Date createdTs;
    private String lastUptOperId;
    private Date lastUptTs;
    private int version;

    @Id
    @SequenceGenerator(name = "RC_THRESHOLD_SEQ_GENERATOR", sequenceName = "RC_THRESHOLD_SEQ", allocationSize = 1)
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "RC_THRESHOLD_SEQ_GENERATOR")
    @Column(name = "ID")
    public Long getId() {
        return id;
    }

    @Column(name = "CODE", length = 50)
    public String getCode() {
        return code;
    }

    @Column(name = "NAME", length = 25)
    public String getName() {
        return name;
    }

    @Column(name = "CUST_TYPE", length = 2)
    public String getCustType() {
        return custType;
    }

    @Column(name = "IS_REAL_NAME_CERTIFY", length = 2)
    public String getIsRealNameCertify() {
        return isRealNameCertify;
    }

    @Column(name = "GOPAY_INT_TXN_CD", length = 2)
    public String getGopayIntTxnCd() {
        return gopayIntTxnCd;
    }

    @Column(name = "PAY_CHANNEL", length = 2)
    public String getPayChannel() {
        return payChannel;
    }

    @Column(name = "TYPE", length = 2)
    public String getType() {
        return type;
    }

    @Column(name = "CYCLE_DAY")
    public Integer getCycleDay() {
        return cycleDay;
    }

    @Column(name = "CYCLE_AMOUNT", precision = 20, scale = 2)
    public BigDecimal getCycleAmount() {
        return cycleAmount;
    }

    @Column(name = "CYCLE_COUNT", precision = 22, scale = 0)
    public Integer getCycleCount() {
        return cycleCount;
    }

    @Column(name = "SINGLE_AMOUNT_LOW", precision = 20, scale = 2)
    public BigDecimal getSingleAmountLow() {
        return singleAmountLow;
    }

    @Column(name = "SINGLE_AMOUNT_HIGH", precision = 20, scale = 2)
    public BigDecimal getSingleAmountHigh() {
        return singleAmountHigh;
    }

    @Column(name = "STAT", length = 2)
    public String getStat() {
        return stat;
    }

    @Column(name = "CREATED_OPER_ID", length = 20)
    public String getCreatedOperId() {
        return createdOperId;
    }

    @Column(name = "CREATED_TS")
    @Temporal(TemporalType.TIMESTAMP)
    public Date getCreatedTs() {
        return createdTs;
    }

    @Column(name = "LAST_UPT_OPER_ID", length = 20)
    public String getLastUptOperId() {
        return lastUptOperId;
    }

    @Column(name = "LAST_UPT_TS")
    @Temporal(TemporalType.TIMESTAMP)
    public Date getLastUptTs() {
        return lastUptTs;
    }

    @Column(name = "VERSION", precision = 22, scale = 0)
    public int getVersion() {
        return version;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setCustType(String custType) {
        this.custType = custType;
    }

    public void setIsRealNameCertify(String isRealNameCertify) {
        this.isRealNameCertify = isRealNameCertify;
    }

    public void setGopayIntTxnCd(String gopayIntTxnCd) {
        this.gopayIntTxnCd = gopayIntTxnCd;
    }

    public void setPayChannel(String payChannel) {
        this.payChannel = payChannel;
    }

    public void setType(String type) {
        this.type = type;
    }

    public void setCycleDay(Integer cycleDay) {
        this.cycleDay = cycleDay;
    }

    public void setCycleAmount(BigDecimal cycleAmount) {
        this.cycleAmount = cycleAmount;
    }

    public void setCycleCount(Integer cycleCount) {
        this.cycleCount = cycleCount;
    }

    public void setSingleAmountLow(BigDecimal singleAmountLow) {
        this.singleAmountLow = singleAmountLow;
    }

    public void setSingleAmountHigh(BigDecimal singleAmountHigh) {
        this.singleAmountHigh = singleAmountHigh;
    }

    public void setStat(String stat) {
        this.stat = stat;
    }

    public void setCreatedOperId(String createdOperId) {
        this.createdOperId = createdOperId;
    }

    public void setCreatedTs(Date createdTs) {
        this.createdTs = createdTs;
    }

    public void setVersion(int version) {
        this.version = version;
    }

    public void setLastUptOperId(String lastUptOperId) {
        this.lastUptOperId = lastUptOperId;
    }

    public void setLastUptTs(Date lastUptTs) {
        this.lastUptTs = lastUptTs;
    }

}
